home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1992 June
/
1992-06.d64
/
stock market 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
9KB
|
244 lines
0 clr
100 rem copyright 1992 compute publications intl ltd - all rights reserved
110 goto240
120 print"":s=7:ifp=2thens=24
130 printleft$("",z+1)mid$(c$,z+1,1)spc(s);
140 o=usr(bg(z,p)),4,0,0:print" ";:o=usr(tv(z,p)),10,2,2:print
150 print"";:s=9:ifp=2thens=26
160 printspc(s)"[155]";:vx=tw(p):pu=usr(vx),13,2,3:print
170 printspc(s)"[153]";:vx=ch(p):pu=usr(vx),13,2,3:print
180 printspc(s)"[158]";:vx=ft(p):pu=usr(vx),13,2,3:print"":return
190 sv(z)=int(sv(z)*100)/100:print""left$("",z+1);
200 ll=int(sv(z)/3.4+sgn(sv(z))):printmid$(c$,z+1,1)sk$(z)" ";left$(b$,ll);
210 printleft$(" ",25-ll);:ifsv(z)=0thenprint" ";
220 pu=usr(sv(z)),6,2,1:print
230 return
240 gosub1860
250 gosub1620
260 jy=peek(j1)and16:ifjy>0thenjy=peek(j2)and16
270 j=1:geta$:if(a$>"")orjy=0then360
280 ifch(j)<0thenpn=2:goto520
290 j=j+1:ifj<3then280
300 gosub1840:gosub840:gosub1100
310 ifyr<239then260
320 fori=0to10:sys49504:fory=0to75:next:printspc(136)"[150][212][193][216] [212][201][205][197]!"
330 fory=0to75:next:next
340 poke53281,15:poke53280,15:gosub1330:poke53281,0:poke53280,6:gosub1620
350 yr=0:goto260
360 ifa$<>"p"then390
370 poke53281,11:poke53280,11:poke198,0:wait198,1:poke198,0
380 poke53280,6:poke53281,0:goto260
390 if(a$<>" "anda$<>chr$(13))and(jy>0)then260
400 sys49504
410 print""spc(12)"[158][208]layer 1 or 2":printspc(12)"[210][197][212][213][210][206][146] to game"
420 poke198,0:wait198,1:geta$:poke198,0
430 ifa$=chr$(13)thengosub1620:goto260
440 ifa$<"1"ora$>"2"then420
450 j=val(a$)
460 sys49504:print"[158]"spc(53)"1. [194]uy"
470 printspc(53)"2. [211]ell"
480 printspc(53)"[210][197][212][213][210][206][146] to menu"
490 poke198,0:wait198,1:geta$:poke198,0:pn=val(a$)
500 ifa$=chr$(13)then400
510 ifa$<"1"ora$>"2"then490
520 on pn gosub540,680
530 goto360
540 sys49504:print""spc(8)"[159] [194]uy [207]ptions- [158][208]layer"j
550 print:fori=0to5:printmid$(c$,i+1,1)i+1"[157]. "sk$(i)" ";
560 o=usr(bg(i,j)),5,0,0:print" ";:o=usr(tv(i,j)),15,2,3:print:next
570 print" [195]ash on [200]and: ";:o=usr(ch(j)),15,2,3:print
580 printhc$"";:fori=0to39:printchr$(20);:next:print" [194]uy which stock (1-6)"
590 poke198,0:wait198,1:geta$:poke198,0
600 ifa$=chr$(13)thenreturn
610 ifa$<"1"ora$>"6"then590
620 sn=val(a$)-1:printmid$(c$,sn+1,1)hc$"";
630 mx=int(ch(j)/sv(sn))
640 fori=0to39:printchr$(20);:next:print" "sk$(sn)": [209]uantity (max"mx"[157])";
650 n$="":nq=0:inputn$:nq=val(n$):if(nq>mx)then640
660 ch(j)=ch(j)-nq*sv(sn):bg(sn,j)=bg(sn,j)+nq:tv(sn,j)=bg(sn,j)*sv(sn)
670 goto540
680 sys49504:print""spc(8)"[156] [211]ell [207]ptions- [158][208]layer"j
690 print:fori=0to5:printmid$(c$,i+1,1)i+1"[157]. "sk$(i)" ";
700 o=usr(bg(i,j)),5,0,0:print" ";:o=usr(tv(i,j)),15,2,3:print:next
710 print" [195]ash on [200]and: ";:o=usr(ch(j)),15,2,3:print
720 printhc$"";:fori=0to39:printchr$(20);:next:print" [211]ell which stock (1-6)"
730 poke198,0:wait198,1:geta$:poke198,0
740 ifa$=chr$(13)thenreturn
750 ifa$<"1"ora$>"6"then730
760 sn=val(a$)-1:printmid$(c$,sn+1,1);:ifbg(sn,j)>0then800
770 printhc$"";:fori=0to39:printchr$(20);:next
780 print" [217]ou don't own any "sk$(sn)"!"
790 fori=0to4000:next:goto680
800 printhc$"";:fori=0to39:printchr$(20);:next:print" "sk$(sn)": [209]uantity";
810 n$="":nq=0:inputn$:nq=val(n$):ifnq>bg(sn,j)then800
820 ch(j)=ch(j)+nq*sv(sn):bg(sn,j)=bg(sn,j)-nq:tv(sn,j)=bg(sn,j)*sv(sn)
830 goto680
840 yr=yr+1:x=int(rnd(.)*6):y=rnd(x)*7+1:k=rnd(y)*2:ifk>1theny=0-y
850 print""spc(30)m$(int(yr/20))
860 sv(x)=sv(x)+y:ifsv(x)<0thensv(x)=0:gosub1010:goto940
870 sv(x)=int(sv(x)*100)/100:ifsv(x)>80thensv(x)=80
880 k=rnd(x)*10:if(k>8)and(sv(x)<10)thensv(x)=sv(x)+k*2:gosub990
890 ifk<3andsv(x)>70thensv(x)=sv(x)/5:gosub1000
900 forp=1to2:tv(x,p)=int((bg(x,p)*sv(x))*100)/100:next
910 forp=1to2:tw(p)=0:fori=0to5:tw(p)=tw(p)+tv(i,p):next:ft(p)=tw(p)+ch(p)
920 z=x:gosub120:next:gosub190
930 ifsv(x)<70then980
940 forp=1to2:ifbg(x,p)>0thendv=bg(x,p)*k:gosub1260:ch(p)=ch(p)+dv
950 if(bg(x,p)>0)and(sv(x)=80)then gosub1310:ch(p)=ch(p)+bg(x,p)*25
960 ifbg(x,p)>0thenpoke198,0:wait198,1:poke198,0:sys49504
970 next:ifbg(x,1)>0orbg(x,2)>0thengosub1620
980 return
990 poke53280,5:fortt=0to100:next:poke53280,6:return
1000 poke53281,1:fortt=0to100:next:poke53281,0:return
1010 z=x:forp=1to2:gosub120:next:gosub190
1020 reada$:ifa$="end"thenrestore:goto1020
1030 sv(x)=30:bg(x,1)=0:bg(x,2)=0:tv(x,1)=0:tv(x,2)=0
1040 forp=1to2:fori=0to5:tw(p)=tw(p)+tv(i,p):next:ft(p)=tw(p)+ch(p):next
1050 sys49504:print" "sk$(x)" [158]has gone broke! [201]f you"
1060 sk$(x)=a$:print" owned any of this stock, you will"
1070 print" notice you no longer have any."
1080 print""tab(12)"[156][208][210][197][211][211][160][193][206][217] [203][197][217]"
1090 poke198,0:wait198,1:poke198,0:gosub1620
1100 a=0:forp=1to2:if(ft(p)>gl)thena=a+p
1110 if(ft(p))<100thena=a+p
1120 next:ifa<1thenreturn
1130 w=1:ifft(2)>ft(1)thenw=2
1140 poke53280,15:poke53281,15
1150 print"[147][144][198]inal [211]tandings:"
1160 print" [208]layer 1 [193]ssets: ";:pu=usr(ft(1)),15,2,3:print
1170 print" [208]layer 2 [193]ssets: ";:pu=usr(ft(2)),15,2,3:print
1180 print"[208]layer";w;"has won the game!"
1190 ifft(w)<1000000then1220
1200 print"[217]ou are a millionaire! [195]ongratulations!"
1210 goto1250
1220 p=1:ifw=1thenp=2
1230 print"[193]lthough you won only because [208]layer";p
1240 print"had less than $100.00 in assets."
1250 poke198,0:wait198,1:poke198,0:run
1260 sys49504:print" [208]layer"p
1270 print" [155][217]ou own";bg(x,p)"pieces of "sk$(x)
1280 print" [212]hey are worth ";:tv(x,p)=bg(x,p)*sv(x):o=usr(tv(x,p)),10,2,3:print
1290 print" [217]ou recieve ";:o=usr(dv),10,2,3:print
1300 print" in dividends.":return
1310 print"[154] [198]or your loyalty, you recieve a"
1320 print" special bonus of ";:bb=bg(x,p)*25:o=usr(bb),10,2,3:print:return
1330 forp=1to2:yp=ft(p)-ow(p):tx=yp/4:ifyp<0thentx=0:ly(p)=ly(p)+1:ws=3-ly(p)
1340 print"[147] [144][213]ncle [211] [193] [205] [146] [144]wants his share!"
1350 print" [208]layer";p
1360 print" [217]our current assets:"tab(24);:pu=usr(ft(p)),15,2,3:print
1370 print" [217]ou started with:"tab(24);:pu=usr(ow(p)),15,2,3:print
1380 ifyp<0then1440
1390 print" [217]ou have earned:"tab(24);:pu=usr(yp),15,2,3:print
1400 print" [213]ncle [211]am's 25% tax:"tab(24);:pu=usr(tx),15,2,3:print
1410 print" [212]hank you, [208]layer";p"[157]."
1420 print" [200]ave a nice day!"
1430 ch(p)=ch(p)-tx:ly(p)=0:ft(p)=tw(p)+ch(p):goto1530
1440 ifly(p)=3then1550
1450 print"[215][193][210][206][201][206][199]: [144][212]hrough complete incompetence,"
1460 print"you have managed to completely"
1470 print"underwhelm the [206]ew [217]ork [211]tock [197]xchange,"
1480 print"embarrassing your friends, neighbors,"
1490 print"and relatives. [201]f this unseemly"
1500 print"behavior continues for"ws"more years,"
1510 print"your seat on the stock exchange will"
1520 print"given to one who is more worthy!"
1530 print""spc(12)"[144][208][210][197][211][211] [193][206][217] [203][197][217]":poke198,0:wait198,1:poke198,0
1540 ow(p)=ft(p):next:return
1550 print"[144] [208]layer";p"[157], the game is over for you!"
1560 print" [217]ou've lost money for the past 3 years"
1570 print" and you lost your seat on the"
1580 print" stock exchange. [212]oo bad!"
1590 fort=0to6000:next
1600 poke198,0:wait198,1:poke198,0:run
1610 end
1620 print"[147] [155] [211]tock [205]arket 64 "
1630 print""tab(13)"[195]urrent [214]alue"
1640 printtab(7)"0 10 20 30 40 50 60 70 80"
1650 fori=0to5
1660 z=i:gosub200
1670 next
1680 print""
1690 print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][157][157][157][157][148][162]"
1700 print"[155][211]tocks [155][208]layer 1 [193]ssets [155][208]layer 2 [193]sets [157][157][157][157][148]s"
1710 print"[162][162][162][162][162][162] [162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162] [162][162][162][162][162][162][162][162][162][162][162][162][16